package com.zenithmind.mall.pojo.dto;

import lombok.Data;
import jakarta.validation.constraints.*;

import java.util.List;

/**
 * 商品评价DTO
 * 
 * @author ZenithMind Team
 * @since 2025-06-09
 */
@Data
public class ProductReviewDTO {

    /**
     * 商品ID
     */
    @NotBlank(message = "商品ID不能为空")
    private String productId;

    /**
     * 订单ID
     */
    @NotBlank(message = "订单ID不能为空")
    private String orderId;

    /**
     * 订单详情ID
     */
    @NotBlank(message = "订单详情ID不能为空")
    private String orderItemId;

    /**
     * 评分（1-5星）
     */
    @NotNull(message = "评分不能为空")
    @Min(value = 1, message = "评分最低为1星")
    @Max(value = 5, message = "评分最高为5星")
    private Integer rating;

    /**
     * 评价内容
     */
    @NotBlank(message = "评价内容不能为空")
    @Size(min = 10, max = 500, message = "评价内容长度必须在10-500个字符之间")
    private String content;

    /**
     * 评价图片URL列表
     */
    @Size(max = 9, message = "最多只能上传9张图片")
    private List<String> images;

    /**
     * 是否匿名（0-否，1-是）
     */
    private Integer isAnonymous = 0;
}
